Compounds | |
| class | XFcPixelConverter |
Defines | |
| #define | XFCPC_565_TO_X888(srccolor) ((((srccolor) & 0x001f) << 3) | (((srccolor) & 0x001c) >> 2) | (((srccolor) & 0x07e0) << 5) | (((srccolor) & 0x0600) >> 1) | (((srccolor) & 0xf800) << 8) | (((srccolor) & 0xe000) << 3)) |
| Converts from 16bit 5:6:5 to 32bit x:8:8:8 format. | |
| #define | XFCPC_565_TO_1555(srccolor) ((((srccolor) & 0x001f)) | (((srccolor) & 0x07c0) >> 1) | (((srccolor) & 0xf800) >> 1) | 0x8000) |
| Converts from 16bit 5:6:5 to 16bit 1:5:5:5 format. | |
| #define | XFCPC_565_TO_8888(srccolor) ((((srccolor) & 0x001f) << 3) | (((srccolor) & 0x001c) >> 2) | (((srccolor) & 0x07e0) << 5) | (((srccolor) & 0x0600) >> 1) | (((srccolor) & 0xf800) << 8) | (((srccolor) & 0xe000) << 3) | 0xff000000) |
| Converts from 16bit 5:6:5 to 32bit 8:8:8:8 format. | |
| #define | XFCPC_565_TO_X6X5X5(srccolor) ((((srccolor) & 0x07e0) << 16) | (((srccolor) & 0xf81f))) |
| Converts from 16bit 5:6:5 to 32bit x:6:x:5:x:5 format. | |
| #define | XFCPC_565_TO_1X5X5X5(srccolor) ((((srccolor) & 0x001f)) | (((srccolor) & 0x07c0) << 15) | (((srccolor) & 0xf800) >> 1) | 0x80000000) |
| Converts from 16bit 5:6:5 to 32bit 1:x:5:x:5:x:5 format. | |
| #define | XFCPC_565_TO_55X5(srccolor) (srccolor & 0xffdf) |
| Converts from 16bit 5:6:5 to 16bit 5:5:x:5 format. | |
| #define | XFCPC_565_TO_5515(srccolor) ((((srccolor) & 0x001f)) | (((srccolor) & 0x07c0)) | (((srccolor) & 0xf800)) | 0x20) |
| Converts from 16bit 5:6:5 to 16bit 5:5:1:5 format. | |
| #define | XFCPC_565_TO_PREMUL8888(srccolor) ((((srccolor) & 0x001f) << 3) | (((srccolor) & 0x001c) >> 2) | (((srccolor) & 0x07e0) << 5) | (((srccolor) & 0x0600) >> 1) | (((srccolor) & 0xf800) << 8) | (((srccolor) & 0xe000) << 3) | 0xff000000) |
| Converts from 16bit 5:6:5 to 32bit premultiplied 8:8:8:8 format. | |
| #define | XFCPC_X888_TO_565(srccolor) ((((srccolor) & 0x0000f8) >> 3) | (((srccolor) & 0x00fc00) >> 5) | (((srccolor) & 0xf80000) >> 8)) |
| Converts from 32bit x:8:8:8 to 16bit 5:6:5 format. | |
| #define | XFCPC_X888_TO_1555(srccolor) ((((srccolor) & 0x000000f8) >> 3) | (((srccolor) & 0x0000f800) >> 6) | (((srccolor) & 0x00f80000) >> 9) | 0x8000) |
| Converts from 32bit x:8:8:8 to 16bit 1:5:5:5 format. | |
| #define | XFCPC_X888_TO_8888(srccolor) (((srccolor) | 0xff000000)) |
| Converts from 32bit x:8:8:8 to 32bit 8:8:8:8 format. | |
| #define | XFCPC_X888_TO_X6X5X5(srccolor) ((((srccolor) & 0x0000f8) >> 3) | (((srccolor) & 0x00fc00) << 11) | (((srccolor) & 0xf80000) >> 8)) |
| Converts from 32bit x:8:8:8 to 32bit x:6:x:5:x:5 format. | |
| #define | XFCPC_X888_TO_1X5X5X5(srccolor) ((((srccolor) & 0x000000f8) >> 3) | (((srccolor) & 0x0000f800) << 10) | (((srccolor) & 0x00f80000) >> 9) | ((0x80000000))) |
| Converts from 32bit 8:8:8:8 to 32bit 1:x:5:x:5:x:5 format. | |
| #define | XFCPC_X888_TO_55X5(srccolor) ((((srccolor) & 0x0000f8) >> 3) | (((srccolor) & 0x00f800) >> 5) | (((srccolor) & 0xf80000) >> 8)) |
| Converts from 32bit x:8:8:8 to 16bit 5:5:x:5 format. | |
| #define | XFCPC_X888_TO_5515(srccolor) ((((srccolor) & 0x000000f8) >> 3) | (((srccolor) & 0x0000f800) >> 5) | (((srccolor) & 0x00f80000) >> 8) | 0x20) |
| Converts from 32bit x:8:8:8 to 16bit 5:5:1:5 format. | |
| #define | XFCPC_X888_TO_PREMUL8888(srccolor) (((srccolor) | 0xff000000)) |
| Converts from 32bit x:8:8:8 to 32bit premultiplied 8:8:8:8 format. | |
| #define | XFCPC_1555_TO_565(srccolor) ((((srccolor) & 0x001f)) | (((srccolor) & 0x03e0) << 1) | (((srccolor) & 0x0200) >> 4) | (((srccolor) & 0x7c00) << 1)) |
| Converts from 16bit 1:5:5:5 to 16bit 5:6:5 format. | |
| #define | XFCPC_1555_TO_X888(srccolor) ((((srccolor) & 0x001f) << 3) | (((srccolor) & 0x001c) >> 2) | (((srccolor) & 0x03e0) << 6) | (((srccolor) & 0x0380) << 1) | (((srccolor) & 0x7c00) << 9) | (((srccolor) & 0x7000) << 4)) |
| Converts from 16bit 1:5:5:5 to 32bit x:8:8:8 format. | |
| #define | XFCPC_1555_TO_8888(srccolor) ((((srccolor) & 0x001f) << 3) | (((srccolor) & 0x001c) >> 2) | (((srccolor) & 0x03e0) << 6) | (((srccolor) & 0x0380) << 1) | (((srccolor) & 0x7c00) << 9) | (((srccolor) & 0x7000) << 4) | ((srccolor & 0x8000) ? 0xff000000 : 0)) |
| Converts from 16bit 1:5:5:5 to 32bit 8:8:8:8 format. | |
| #define | XFCPC_1555_TO_X6X5X5(srccolor) ((((srccolor) & 0x0000001f)) | (((srccolor) & 0x000003e0) << 17) | (((srccolor) & 0x00000200) << 12) | (((srccolor) & 0x00007c00) << 1)) |
| Converts from 16bit 1:5:5:5 to 32bit x:5:x:6:x:5 format. | |
| #define | XFCPC_1555_TO_1X5X5X5(srccolor) ((((srccolor) & 0x7c1f)) | (((srccolor) & 0x83e0) << 16)) |
| Converts from 16bit 1:5:5:5 to 32bit 1:x:5:x:5:x:5 format. | |
| #define | XFCPC_1555_TO_55X5(srccolor) ((((srccolor) & 0x001f)) | (((srccolor) & 0x7fe0) << 1)) |
| Converts from 16bit 1:5:5:5 to 16bit 5:5:x:5 format. | |
| #define | XFCPC_1555_TO_5515(srccolor) ((((srccolor) & 0x001f)) | (((srccolor) & 0x7fe0) << 1) | (((srccolor) & 0x8000) >> 10)) |
| Converts from 16bit 1:5:5:5 to 16bit 5:5:1:5 format. | |
| #define | XFCPC_1555_TO_PREMUL8888(srccolor) (((srccolor) & 0x8000) ? ((((srccolor) & 0x001f) << 3) | (((srccolor) & 0x001c) >> 2) | (((srccolor) & 0x03e0) << 6) | (((srccolor) & 0x0380) << 1) | (((srccolor) & 0x7c00) << 9) | (((srccolor) & 0x7000) << 4) | 0xff000000) : 0) |
| Converts from 16bit 1:5:5:5 to 32bit premultiplied 8:8:8:8 format. | |
| #define | XFCPC_8888_TO_X888(srccolor) (((srccolor) & 0x00ffffff)) |
| Converts from 32bit 8:8:8:8 to 32bit x:8:8:8 format. | |
| #define | XFCPC_8888_TO_1555(srccolor) ((((srccolor) & 0x000000f8) >> 3) | (((srccolor) & 0x0000f800) >> 6) | (((srccolor) & 0x00f80000) >> 9) | (((srccolor) & 0x80000000) >> 16)) |
| Converts from 32bit 8:8:8:8 to 16bit 1:5:5:5 format. | |
| #define | XFCPC_8888_TO_1X5X5X5(srccolor) ((((srccolor) & 0x000000f8) >> 3) | (((srccolor) & 0x0000f800) << 10) | (((srccolor) & 0x00f80000) >> 9) | (((srccolor) & 0x80000000))) |
| Converts from 32bit 8:8:8:8 to 32bit 1:x:5:x:5:x:5 format. | |
| #define | XFCPC_8888_TO_5515(srccolor) ((((srccolor) & 0x000000f8) >> 3) | (((srccolor) & 0x0000f800) >> 5) | (((srccolor) & 0x00f80000) >> 8) | (((srccolor) & 0x80000000) >> 26)) |
| Converts from 32bit 8:8:8:8 to 16bit 5:5:1:5 format. | |
| #define | XFCPC_8888_TO_PREMUL8888(srccolor, resultcolor) |
| Converts from 32bit 8:8:8:8 to 32bit premultipled x:8:8:8 format. | |
| #define | XFCPC_X6X5X5_TO_565(srccolor) ((((srccolor) & 0x07e00000) >> 16) | (((srccolor) & 0x0000f81f))) |
| Converts from 32bit x:6:x:5:x:5 to 16bit 5:6:5 format. | |
| #define | XFCPC_X6X5X5_TO_X888(srccolor) ((((srccolor) & 0x0000001f) << 3) | (((srccolor) & 0x0000001c) >> 2) | (((srccolor) & 0x07e00000) >> 11) | (((srccolor) & 0x06000000) >> 17) | (((srccolor) & 0x0000f800) << 8) | (((srccolor) & 0x0000e000) << 3)) |
| Converts from 32bit x:6:x:5:x:5 to 32bit x:8:8:8 format. | |
| #define | XFCPC_X6X5X5_TO_1555(srccolor) ((((srccolor) & 0x0000001f)) | (((srccolor) & 0x07c00000) >> 17) | (((srccolor) & 0x0000f800) >> 1) | 0x8000) |
| Converts from 32bit x:6:x:5:x:5 to 16bit 1:5:5:5 format. | |
| #define | XFCPC_X6X5X5_TO_8888(srccolor) ((((srccolor) & 0x0000001f) << 3) | (((srccolor) & 0x07e00000) >> 11) | (((srccolor) & 0x0000f800) << 8) | 0xff000000) |
| Converts from 32bit x:6:x:5:x:5 to 32bit 8:8:8:8 format. | |
| #define | XFCPC_X6X5X5_TO_1X5X5X5(srccolor) ((((srccolor) & 0x0000001f)) | (((srccolor) & 0x07e00000) >> 1) | (((srccolor) & 0x00007c00) >> 1) | 0x8000) |
| Converts from 32bit x:6:x:5:x:5 to 32bit 1:x:5:x:5:x:5 format. | |
| #define | XFCPC_X6X5X5_TO_55X5(srccolor) ((((srccolor) & 0x07c00000) >> 16) | (((srccolor) & 0x0000f81f))) |
| Converts from 32bit x:6:x:5:x:5 to 16bit 5:5:x:5 format. | |
| #define | XFCPC_X6X5X5_TO_5515(srccolor) ((((srccolor) & 0x0000001f)) | (((srccolor) & 0x07c00000) >> 16) | (((srccolor) & 0x0000f800)) | 0x20) |
| Converts from 32bit x:6:x:5:x:5 to 16bit 1:5:5:5 format. | |
| #define | XFCPC_X6X5X5_TO_PREMUL8888(srccolor) ((((srccolor) & 0x0000001f) << 3) | (((srccolor) & 0x07e00000) >> 11) | (((srccolor) & 0x0000f800) << 8) | 0xff000000) |
| Converts from 32bit x:6:x:5:x:5 to 32bit premultiplied 8:8:8:8 format. | |
| #define | XFCPC_1X5X5X5_TO_565(srccolor) ((((srccolor) & 0x0000001f)) | (((srccolor) & 0x03e00000) >> 15) | (((srccolor) & 0x02000000) >> 21) | (((srccolor) & 0x00007c00) << 1)) |
| Converts from 32bit 1:x:5:x:5:x:5 to 16bit 5:6:5 format. | |
| #define | XFCPC_1X5X5X5_TO_X888(srccolor) ((((srccolor) & 0x0000001f) << 3) | (((srccolor) & 0x0000001c) >> 2) | (((srccolor) & 0x03e00000) >> 10) | (((srccolor) & 0x03800000) >> 15) | (((srccolor) & 0x00007c00) << 9) | (((srccolor) & 0x00007000) << 4)) |
| Converts from 32bit 1:x:5:x:5:x:5 to 32bit x:8:8:8 format. | |
| #define | XFCPC_1X5X5X5_TO_1555(srccolor) ((((srccolor) & 0x00007c1f)) | (((srccolor) & 0x83e00000) >> 16)) |
| Converts from 32bit 1:x:5:x:5:x:5 to 16bit 1:5:5:5 format. | |
| #define | XFCPC_1X5X5X5_TO_8888(srccolor) ((((srccolor) & 0x0000001f) << 3) | (((srccolor) & 0x0000001c) >> 2) | (((srccolor) & 0x03e00000) >> 10) | (((srccolor) & 0x03800000) >> 15) | (((srccolor) & 0x00007c00) << 9) | (((srccolor) & 0x00007000) << 4) | (((srccolor) & 0x80000000) ? 0xff000000 : 0)) |
| Converts from 32bit 1:x:5:x:5:x:5 to 32bit 8:8:8:8 format. | |
| #define | XFCPC_1X5X5X5_TO_X6X5X5(srccolor) ((((srccolor) & 0x0000001f)) | (((srccolor) & 0x03e00000) << 1) | (((srccolor) & 0x02000000) >> 4) | (((srccolor) & 0x00007c00) << 1)) |
| Converts from 32bit 1:x:5:x:5:x:5 to 32bit x:6:x:5:x:5 format. | |
| #define | XFCPC_1X5X5X5_TO_55X5(srccolor) ((((srccolor) & 0x0000001f)) | (((srccolor) & 0x03e00000) >> 15) | (((srccolor) & 0x00007c00) << 1)) |
| Converts from 32bit 1:x:5:x:5:x:5 to 16bit 5:5:x:5 format. | |
| #define | XFCPC_1X5X5X5_TO_5515(srccolor) ((((srccolor) & 0x07c00000) >> 16) | (((srccolor) & 0xf81f)) | (((srccolor) & 0x80000000) >> 26)); |
| Converts from 16bit 1:x:5:x:5:x:5 to 32bit 5:5:1:5 format. | |
| #define | XFCPC_1X5X5X5_TO_PREMUL8888(srccolor) (((srccolor) & 0x80000000) ? ((((srccolor) & 0x0000001f) << 3) | (((srccolor) & 0x0000001c) >> 2) | (((srccolor) & 0x03e00000) >> 10) | (((srccolor) & 0x03800000) >> 15) | (((srccolor) & 0x00007c00) << 9) | (((srccolor) & 0x00007000) << 4) | 0xff000000) : 0) |
| Converts from 32bit 1:x:5:x:5:x:5 to 32bit premultiplied 8:8:8:8 format. | |
| #define | XFCPC_55X5_TO_565(srccolor) (srccolor | (((srccolor) & 0x0400) >> 5)) |
| Converts from 16bit 5:5:x:5 to 16bit 5:6:5 format. | |
| #define | XFCPC_55X5_TO_X888(srccolor) ((((srccolor) & 0x001f) << 3) | (((srccolor) & 0x001c) >> 2) | (((srccolor) & 0x07c0) << 5) | ((srccolor) & 0x0700) | (((srccolor) & 0xf800) << 8) | (((srccolor) & 0xe000) << 3)) |
| Converts from 16bit 5:5:x:5 to 32bit x:8:8:8 format. | |
| #define | XFCPC_55X5_TO_1555(srccolor) ((((srccolor) & 0x001f)) | (((srccolor) & 0x07c0) >> 1) | (((srccolor) & 0xf800) >> 1) | 0x8000) |
| Converts from 16bit 5:5:x:5 to 16bit 1:5:5:5 format. | |
| #define | XFCPC_55X5_TO_8888(srccolor) ((((srccolor) & 0x001f) << 3) | (((srccolor) & 0x001c) >> 2) | (((srccolor) & 0x07c0) << 5) | ((srccolor) & 0x0700) | (((srccolor) & 0xf800) << 8) | (((srccolor) & 0xe000) << 3) | 0xff000000) |
| Converts from 16bit 5:5:x:5 to 32bit 8:8:8:8 format. | |
| #define | XFCPC_55X5_TO_X6X5X5(srccolor) ((((srccolor) & 0x07c0) << 16) | (((srccolor) & 0x0400) << 11) | (((srccolor) & 0xf81f))) |
| Converts from 16bit 5:5:x:5 to 32bit x:6:x:5:x:5 format. | |
| #define | XFCPC_55X5_TO_1X5X5X5(srccolor) ((((srccolor) & 0x001f)) | (((srccolor) & 0x07c0) << 15) | (((srccolor) & 0xf800) >> 1) | 0x80000000) |
| Converts from 16bit 5:5:x:5 to 32bit 1:x:5:x:5:x:5 format. | |
| #define | XFCPC_55X5_TO_5515(srccolor) (srccolor | 0x20) |
| Converts from 16bit 5:5:x:5 to 16bit 5:5:1:5 format. | |
| #define | XFCPC_55X5_TO_PREMUL8888(srccolor) ((((srccolor) & 0x001f) << 3) | (((srccolor) & 0x001c) >> 2) | (((srccolor) & 0x07c0) << 5) | ((srccolor) & 0x0700) | (((srccolor) & 0xf800) << 8) | (((srccolor) & 0xe000) << 3) | 0xff000000) |
| Converts from 16bit 5:5:x:5 to 32bit premultiplied 8:8:8:8 format. | |
| #define | XFCPC_5515_TO_565(srccolor) (((srccolor) & 0xffdf) | (((srccolor) & 0x400) >> 5)) |
| Converts from 16bit 5:5:1:5 to 16bit 5:6:5 format. | |
| #define | XFCPC_5515_TO_X888(srccolor) ((((srccolor) & 0x001f) << 3) | (((srccolor) & 0x001c) >> 2) | (((srccolor) & 0x07c0) << 5) | (((srccolor) & 0x0700)) | (((srccolor) & 0xf800) << 8) | (((srccolor) & 0xe000) << 3)) |
| Converts from 16bit 5:5:1:5 to 32bit x:8:8:8 format. | |
| #define | XFCPC_5515_TO_1555(srccolor) (((srccolor) & 0x001f) | (((srccolor) & 0x20) << 10) | (((srccolor) & 0xffc0) >> 1)) |
| Converts from 16bit 5:5:1:5 to 16bit 1:5:5:5 format. | |
| #define | XFCPC_5515_TO_8888(srccolor) ((((srccolor) & 0x001f) << 3) | (((srccolor) & 0x001c) >> 2) | (((srccolor) & 0x07c0) << 5) | (((srccolor) & 0x0700)) | (((srccolor) & 0xf800) << 8) | (((srccolor) & 0xe000) << 3) | ((srccolor & 0x20) ? 0xff000000 : 0)) |
| Converts from 16bit 5:5:1:5 to 32bit 8:8:8:8 format. | |
| #define | XFCPC_5515_TO_X6X5X5(srccolor) ((((srccolor) & 0x0000f81f)) | (((srccolor) & 0x000007c0) << 16) | (((srccolor) & 0x00000400) << 11)) |
| Converts from 16bit 5:5:1:5 to 32bit x:5:x:6:x:5 format. | |
| #define | XFCPC_5515_TO_1X5X5X5(srccolor) ((((srccolor) & 0x07c0) << 16) | (((srccolor) & 0xf81f)) | (((srccolor) & 0x0020) << 26)); |
| Converts from 16bit 1:5:5:5 to 32bit 1:x:5:x:5:x:5 format. | |
| #define | XFCPC_5515_TO_55X5(srccolor) (srccolor & 0xffdf) |
| Converts from 16bit 5:5:1:5 to 16bit 5:5:x:5 format. | |
| #define | XFCPC_5515_TO_PREMUL8888(srccolor) (((srccolor) & 0x20) ? ((((srccolor) & 0x001f) << 3) | (((srccolor) & 0x001c) >> 2) | (((srccolor) & 0x07c0) << 5) | (((srccolor) & 0x0700)) | (((srccolor) & 0xf800) << 8) | (((srccolor) & 0xe000) << 3) | 0xff000000) : 0) |
| Converts from 16bit 5:5:1:5 to 32bit premultiplied 8:8:8:8 format. | |
| #define | XFCPC_PREMUL8888_TO_8888(srccolor, resultcolor) |
| Converts from 32bit premultiplied 8:8:8:8 to 32bit 8:8:8:8 format. | |
| #define | XFCPC_PREMUL8888_TO_8888_TABLELOOKUP(srccolor, resultcolor, invtable) |
| Converts from 32bit premultiplied 8:8:8:8 to 32bit 8:8:8:8 format, using an inversion table instead of division. | |
Typedefs | |
| typedef UINT32(* | xfcPixelConversionFunction )(UINT32) |
| Utility for pixel format conversions. | |
| typedef void(* | xfcPixelBufferConversionFunction )(void *, void *, INT32) |
X-Forge Core
Copyright 2000-2003 Fathammer Ltd
|
|
Converts from 16bit 1:5:5:5 to 32bit 1:x:5:x:5:x:5 format.
|
|
|
Converts from 16bit 1:5:5:5 to 16bit 5:5:1:5 format.
|
|
|
Converts from 16bit 1:5:5:5 to 16bit 5:5:x:5 format.
|
|
|
Converts from 16bit 1:5:5:5 to 16bit 5:6:5 format.
|
|
|
Converts from 16bit 1:5:5:5 to 32bit 8:8:8:8 format.
|
|
|
Converts from 16bit 1:5:5:5 to 32bit premultiplied 8:8:8:8 format.
|
|
|
Converts from 16bit 1:5:5:5 to 32bit x:5:x:6:x:5 format.
|
|
|
Converts from 16bit 1:5:5:5 to 32bit x:8:8:8 format.
|
|
|
Converts from 32bit 1:x:5:x:5:x:5 to 16bit 1:5:5:5 format.
|
|
|
Converts from 16bit 1:x:5:x:5:x:5 to 32bit 5:5:1:5 format.
|
|
|
Converts from 32bit 1:x:5:x:5:x:5 to 16bit 5:5:x:5 format.
|
|
|
Converts from 32bit 1:x:5:x:5:x:5 to 16bit 5:6:5 format.
|
|
|
Converts from 32bit 1:x:5:x:5:x:5 to 32bit 8:8:8:8 format.
|
|
|
Converts from 32bit 1:x:5:x:5:x:5 to 32bit premultiplied 8:8:8:8 format.
|
|
|
Converts from 32bit 1:x:5:x:5:x:5 to 32bit x:6:x:5:x:5 format.
|
|
|
Converts from 32bit 1:x:5:x:5:x:5 to 32bit x:8:8:8 format.
|
|
|
Converts from 16bit 5:5:1:5 to 16bit 1:5:5:5 format.
|
|
|
Converts from 16bit 1:5:5:5 to 32bit 1:x:5:x:5:x:5 format.
|
|
|
Converts from 16bit 5:5:1:5 to 16bit 5:5:x:5 format.
|
|
|
Converts from 16bit 5:5:1:5 to 16bit 5:6:5 format.
|
|
|
Converts from 16bit 5:5:1:5 to 32bit 8:8:8:8 format.
|
|
|
Converts from 16bit 5:5:1:5 to 32bit premultiplied 8:8:8:8 format.
|
|
|
Converts from 16bit 5:5:1:5 to 32bit x:5:x:6:x:5 format.
|
|
|
Converts from 16bit 5:5:1:5 to 32bit x:8:8:8 format.
|
|
|
Converts from 16bit 5:5:x:5 to 16bit 1:5:5:5 format.
|
|
|
Converts from 16bit 5:5:x:5 to 32bit 1:x:5:x:5:x:5 format.
|
|
|
Converts from 16bit 5:5:x:5 to 16bit 5:5:1:5 format.
|
|
|
Converts from 16bit 5:5:x:5 to 16bit 5:6:5 format.
|
|
|
Converts from 16bit 5:5:x:5 to 32bit 8:8:8:8 format.
|
|
|
Converts from 16bit 5:5:x:5 to 32bit premultiplied 8:8:8:8 format.
|
|
|
Converts from 16bit 5:5:x:5 to 32bit x:6:x:5:x:5 format.
|
|
|
Converts from 16bit 5:5:x:5 to 32bit x:8:8:8 format.
|
|
|
Converts from 16bit 5:6:5 to 16bit 1:5:5:5 format.
|
|
|
Converts from 16bit 5:6:5 to 32bit 1:x:5:x:5:x:5 format.
|
|
|
Converts from 16bit 5:6:5 to 16bit 5:5:1:5 format.
|
|
|
Converts from 16bit 5:6:5 to 16bit 5:5:x:5 format.
|
|
|
Converts from 16bit 5:6:5 to 32bit 8:8:8:8 format.
|
|
|
Converts from 16bit 5:6:5 to 32bit premultiplied 8:8:8:8 format.
|
|
|
Converts from 16bit 5:6:5 to 32bit x:6:x:5:x:5 format.
|
|
|
Converts from 16bit 5:6:5 to 32bit x:8:8:8 format.
|
|
|
Converts from 32bit 8:8:8:8 to 16bit 1:5:5:5 format.
|
|
|
Converts from 32bit 8:8:8:8 to 32bit 1:x:5:x:5:x:5 format.
|
|
|
Converts from 32bit 8:8:8:8 to 16bit 5:5:1:5 format.
|
|
|
Value: { \
UINT32 __a = (srccolor) & 0xff000000; \
UINT32 __alpha = __a >> 24; \
UINT32 __rb = (srccolor) & 0x00ff00ff; \
UINT32 __g = (srccolor) & 0x0000ff00; \
\
UINT32 __i = __alpha * __rb + ((128 << 16) + 128); \
__rb = (( __i + ((__i >> 8) & 0x00ff00ff) ) >> 8) & 0x00ff00ff; \
\
__i = __alpha * __g + (128 << 8); \
__g = (( __i + ((__i >> 8) & 0x0000ff00) ) >> 8) & 0x0000ff00; \
\
resultcolor = __a | __rb | __g; \
}
|
|
|
Converts from 32bit 8:8:8:8 to 32bit x:8:8:8 format.
|
|
|
Value: { \
UINT32 __a = srccolor & 0xff000000; \
\
if (__a == 0) \
resultcolor = 0x00ffffff; \
else if (__a == 0xff000000) \
resultcolor = srccolor; \
else \
{ \
XFcFixed __invAlpha; \
__invAlpha.mValue = 0xff0000; \
__invAlpha = __invAlpha / (INT32)(__a >> 24); \
\
XFcFixed __r,__g,__b; \
__r.mValue = (srccolor) & 0x00ff0000; \
__g.mValue = ((srccolor) & 0x0000ff00) << 8; \
__b.mValue = ((srccolor) & 0x000000ff) << 16; \
\
__r *= __invAlpha; \
__g *= __invAlpha; \
__b *= __invAlpha; \
\
resultcolor = __a | (__r.mValue & 0x00ff0000) | ((__g.mValue & 0x00ff0000) >> 8) | ((__b.mValue & 0x00ff0000) >> 16);\
} \
\
}
Conversions to other formats can be either done using XFCPC_8888_TO_* or XFCPC_X888_TO_* macros, or first converting to 8:8:8:8 format with this and then to correct target format. |
|
|
Value: { \
UINT32 __a = srccolor & 0xff000000; \
\
if (__a == 0) \
resultcolor = 0x00ffffff; \
else if (__a == 0xff000000) \
resultcolor = srccolor; \
else \
{ \
XFcFixed __invAlpha; \
__invAlpha = invtable[(INT32)(__a >> 24)]; \
\
XFcFixed __r,__g,__b; \
__r.mValue = (srccolor) & 0x00ff0000; \
__g.mValue = ((srccolor) & 0x0000ff00) << 8; \
__b.mValue = ((srccolor) & 0x000000ff) << 16; \
\
__r *= __invAlpha; \
__g *= __invAlpha; \
__b *= __invAlpha; \
\
resultcolor = __a | (__r.mValue & 0x00ff0000) | ((__g.mValue & 0x00ff0000) >> 8) | ((__b.mValue & 0x00ff0000) >> 16);\
} \
\
}
Inversion table should be a table of 256 XFcFixed's, defined as division between 255 and n (ranging from 0 to 255). |
|
|
Converts from 32bit x:6:x:5:x:5 to 16bit 1:5:5:5 format.
|
|
|
Converts from 32bit x:6:x:5:x:5 to 32bit 1:x:5:x:5:x:5 format.
|
|
|
Converts from 32bit x:6:x:5:x:5 to 16bit 1:5:5:5 format.
|
|
|
Converts from 32bit x:6:x:5:x:5 to 16bit 5:5:x:5 format.
|
|
|
Converts from 32bit x:6:x:5:x:5 to 16bit 5:6:5 format.
|
|
|
Converts from 32bit x:6:x:5:x:5 to 32bit 8:8:8:8 format.
|
|
|
Converts from 32bit x:6:x:5:x:5 to 32bit premultiplied 8:8:8:8 format.
|
|
|
Converts from 32bit x:6:x:5:x:5 to 32bit x:8:8:8 format.
|
|
|
Converts from 32bit x:8:8:8 to 16bit 1:5:5:5 format.
|
|
|
Converts from 32bit 8:8:8:8 to 32bit 1:x:5:x:5:x:5 format.
|
|
|
Converts from 32bit x:8:8:8 to 16bit 5:5:1:5 format.
|
|
|
Converts from 32bit x:8:8:8 to 16bit 5:5:x:5 format.
|
|
|
Converts from 32bit x:8:8:8 to 16bit 5:6:5 format.
|
|
|
Converts from 32bit x:8:8:8 to 32bit 8:8:8:8 format.
|
|
|
Converts from 32bit x:8:8:8 to 32bit premultiplied 8:8:8:8 format.
|
|
|
Converts from 32bit x:8:8:8 to 32bit x:6:x:5:x:5 format.
|
|
|
|
|
|
Utility for pixel format conversions. Due to the obvious overhead this is mostly for convenience class, and not meant for heavy realtime use.
|
![]() |
Confidential Copyright © 2002-2003 Fathammer | with doxygen by Dimitri van Heesch | ||